According to the definitions on the last page, a derived entity Esub has the following possibilities to get architectures:
  • declaring a new architecture A
       architecture A of Esub is
       begin
       end;
    This case is equivalent to the declaration of architectures in standard VHDL.


  • deriving an architecture Asub from an architecture A of a parent entity E of Esub
       architecture Asub of Esub is
       new A of E with
       begin
       end;
    In this case E can be any (direct or indirect) parent entity of Esub.

  • deriving an architecture A2 from an existing architecture A1 of Esub
       architecture A2 of Esub is
       new A1 [of Esub] with
       begin
       end;
    In this case the part in the square brackets can be omitted, because both architectures belong to the same entity.
By the way: the last mentioned point allows a non-derived entity E to have a derived architecture:

   architecture Asub of E is
   new A [of E] with
   begin
   end;